* {
  box-sizing: border-box;
}

body {
  font-family: Roboto, Helvetica Neue, sans-serif;
  font-size: 18px;
  margin: 0;
  line-height: 1.5;
  word-wrap: break-word;
}

body, a {
  color: #222;
}

a {
  text-decoration: none;
}

p a {
  text-decoration: underline #2222;
}

p a:hover {
  text-decoration: underline;
}

h2 a, h3 a {
  display: none;
  user-select: none;
}

h2:hover a, h3:hover a {
  display: unset;
  color: #2222;
}

.toolbar b {
  font-size: 22px;
  font-weight: 500;
}

.container {
  max-width: 1012px;
  margin-right: auto;
  margin-left: auto;
}

.padding16w {
  padding-right: 16px;
  padding-left: 16px;
}

.margin14h {
  margin-top: 14px;
  margin-bottom: 14px;
}

img {
  max-width: 100%;
  box-sizing: content-box;
  background-color: #fff;
}

code {
  padding: 0.2em 0.4em;
  margin: 0;
  font-size: 85%;
  background-color: #f0f0f0;
  border-radius: 3px;
}

pre > code {
  display: inline;
  padding: 0;
  margin: 0;
  font-size: 100%;
  word-break: normal;
  white-space: pre;
  overflow: visible;
  line-height: inherit;
  word-wrap: normal;
  background-color: transparent;
  border: 0;
}

pre.highlight {
  padding: 16px;
  overflow: auto;
  font-size: 85%;
  line-height: 1.45;
  background-color: #f9f9f9;
  border: 1px solid #ececec;
  border-radius: 3px;
}

div.highlight:last-child {
  margin: 0 0 -16px 0;
}

details {
  margin: 14px 0;
  padding: 16px;
  border: 1px solid #ececec;
  border-radius: 3px;
}

summary:hover {
  cursor: pointer;
}

details[open] summary ~ * {
  animation: slide .3s ease-in-out;
}

@keyframes slide {
  0%    {opacity: 0; margin-top: -10px}
  100%  {opacity: 1; margin-top: 0px}
}

h1, h2, h3, h4, h5 {
  margin-top: 24px;
  margin-bottom: 16px;
  font-weight: 500;
  line-height: 1.25;
  word-break: break-word;
}

h1 {
  margin-top: 0;
  margin-bottom: 8px;
  font-size: 2em;
}

h2 {
  padding-bottom: 0.3em;
  font-size: 1.5em;
  border-bottom: 1px solid #ececec;
}

h3 {
  font-size: 1.25em;
}

.headline {
  margin: -16px 0;
  font-weight: 500;
  font-size: 1.5em;
  line-height: 1.25;
  word-break: break-word;
}

details > .headline {
  margin: 0 0 -8px 0;
}

.caption {
  font-size: smaller;
}

hr {
  height: 4px;
  padding: 0;
  margin: 16px 0;
  background-color: #e1e1e1;
  border: 0;
}

@media (max-width: 599px) {
  .hide-xs {
    display: none;
  }
}
